import { post } from '../http'
import { cherryPick2Dict } from '@/utils/formatResponseData'

export const tenantPriceDict = () =>
  post({
    url: '/tenantPriceTemplate/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        sortMap: 'sortMap', // 模板类别
        statusMap: 'statusMap', // 模板状态
        typeMap: 'typeMap', // 模板类型
        switchMap: 'switchMap', // 开关控制
        weedendSortMap: 'weedendSortMap', // 周末类别
        thirdpartySourceEnum: 'thirdpartySourceEnum', // 渠道
      }),
  })

export const tenantCostDict = () =>
  post({
    url: '/tenantCostTemplate/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        statusMap: 'statusMap', // 状态
        sortMap: 'sortMap', // 费用类别
        payTypeMap: 'payTypeMap', // 收付款类型
        feeUnitShortMap: 'feeUnitShortMap', // 短租收付款单位类型
        feeUnitLongMap: 'feeUnitLongMap', // 长租收付款单位类型
        feeTypeMap: 'feeTypeMap', // 费用类型
      }),
  })

// 电子围栏筛选项
export const fenceDict = () =>
  post({
    url: '/vehiceFence/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        vehiceFenceRuleEnum: 'vehiceFenceRuleEnum', // 围栏规则
        vehiceFenceStatusEnum: 'vehiceFenceStatusEnum', // 围栏状态
        vehiceFenceTypeEnum: 'vehiceFenceTypeEnum', // 围栏类型
      }),
  })

// OTA渠道管理
export const otaChannelDict = () =>
  post({
    url: '/channelAccount/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        thirdpartySourceEnum: 'thirdpartySourceEnum', // 同步渠道
        accountStatusEnum: 'accountStatusEnum', // 账号状态
      }),
  })

// 库存同步
export const channelSyncStoreDict = () =>
  post({
    url: '/channelSyncStore/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        thirdpartySourceEnum: 'thirdpartySourceEnum', // 订单渠道
        CarUseTypeEnum: 'CarUseTypeEnum', // 服务类型
        syncStatusEnum: 'syncStatusEnum', // 状态
        statusEnum: 'statusEnum', // 同步类型
        orderSourceEnum: 'orderSourceEnum', // 订单来源
      }),
  })

// 企业/个人系统参数
export const systemParamDict = () =>
  post({
    url: '/svmsContract/enumList',
    format: (res) =>
      cherryPick2Dict(res.result, {
        identType: 'identType', // 认证类型
        identMode: 'identMode', // 认证模式
        companyIdentStatus: 'companyIdentStatus', // 企业认证状态
        contractStatus: 'contractStatus', // 合同状态
        leaseType: 'leaseType', // 租期类型
        contractType: 'contractType', // 合同类型
        freeContractType: 'freeContractType', // 合同类型
        orderType: 'orderType', // 订单类型
        createWay: 'createWay', // 创建方式
      }),
  })

// 获取消息模板页面参数
export const getNoticeTemplateEnums = () =>
  post({
    url: '/noticeTemplate/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        typeEnum: 'typeEnum', // 模板类型
        statusEnum: 'statusEnum', // 状态
        sendTypeEnum: 'sendTypeEnum', // 通知方式
        appPositionEnum: 'appPositionEnum', // app推送位置
        pcPositionEnum: 'pcPositionEnum', // pc推送位置
      }),
  })
// 获取 通知列表页面参数
export const getNoticeEnums = () =>
  post({
    url: '/notice/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        templateTypeEnum: 'templateTypeEnum', // 模板类型
        statusEnum: 'statusEnum', // 状态
        systemTypeEnum: 'systemTypeEnum', //系统消息类型
      }),
  })

// 获取 运营成本列表页面参数
export const getCostEnums = () =>
  post({
    url: '/cost/enumData',
    format: (res) =>
      cherryPick2Dict(res.result, {
        refCostTypeEnum: 'refCostType', //关联单据类型
        workTypeEnum: 'workType', // 工单类型
        costTypeEnum: 'costType', // 支出单类型
        businessTypeEnum: 'businessType', //业务类型
        payStatusEnum: 'payStatus', //付款状态
        feeItemEnum: 'feeItem', //支出费用项
        collectTypeEnum: 'collectType', //收款方类型
        labelEnum: 'label', //标签
        checkStatusEnum: 'checkStatus', //审批状态
      }),
  })
// 订单工单
export const workOrderDict = () =>
  post({
    url: '/workOrderV5/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        workOrderType: 'workOrderType', // 工单类型
        workOrderStatus: 'workOrderStatus', // 工单状态
        orderType: 'orderType', // 订单类型
        orderStatus: 'orderStatus', // 订单状态
        orderSourceEnum: 'orderSourceEnum', // 订单来源
        workLabel: 'workLabel', // 标签
      }),
  })

// 反写价格结果
export const channelSyncPrice = () =>
  post({
    url: '/channelSyncPrice/getEnums',
    format: (res) =>
      cherryPick2Dict(res.result, {
        statusEnum: 'statusEnum', // 反写结果
        thirdpartySourceEnum: 'thirdpartySourceEnum', // 渠道
      }),
  })
